Ralph Merkle
https://en.wikipedia.org/wiki/Ralph_Merkle The Inventor of the Merkle Tree Wants DAOs to Rule the World Merkle Puzzles https://en.wikipedia.org/wiki/Merkle%27s_Puzzles "Suppose Alice and Bob wish to communicate. Bob can send a message to Alice as follows: first he creates a large number of puzzles, each of a moderate amount of difficulty — it must be possible for Alice to solve the puzzle with a moderate amount of computing effort. The puzzles are in the form of an encrypted message with an unknown key; the key must be short enough to allow a brute force attack. Bob sends all of the puzzles to Alice, who chooses one randomly, and solves it. The encrypted solution contains an identifier, as well as a session key, so Alice can communicate back to Bob which puzzle she has solved. Both parties now have a common key; Alice, because she solved a puzzle, and Bob, because he sent the puzzle. Any eavesdropper (Eve, say) has a harder task — she does not know which puzzle was solved by Alice. Her best strategy is to solve all the puzzles, but since there are so many, this is more computationally expensive for Eve than it is for Alice." # "Bob generates 2N messages containing, "This is message X. This is the symmetrical key, Y", where X is an identifier, and Y is a secret key meant for symmetrical encryption. Both X and Y are unique to each message. All the messages are encrypted in a way such that a user may conduct a brute force attack on each message with some difficulty. Bob sends all the encrypted messages to Alice. # Alice receives all the encrypted messages, and randomly chooses a single message to brute force. After Alice discovers both the identifier X and the secret key Y inside that message, she encrypts her clear text with the secret key Y, and sends that identifier (in cleartext) with her cipher text to Bob. # Bob finds the secret key paired with that identifier, and deciphers Alice's cipher text with that secret key." The trick that gives the asymmetrical difficulty here, is that by knowing all of the possible secret keys that Alice may have encrypted her message with, Bob is able to decrypt Alice's message in O(m) time (where m=2N is the number of messages Bob sends). Whereas, an attacker Eve is forced to brute force each of Bob's messages to reveal one of the many (2N) secret keys Eve may be using. Thus Eve's total time goes with O(m*n) (where n is the number of steps needed to "brute force" decrypt a single key). Alice is still forced to "brute force" one of Bob's messages to get the key she ends up using, but since she encrypts her message response, it is classically intractable for Eve to know which secret key Alice has used without checking them individually. Hence, Alice and Bob can solve the problem in O(m+n) time instead of O(m*n) time. Merkle Trees |YouTube:/AltcoinXP/Random Crypto-Currency Concept #1 - Merkle Trees> |YouTube:/Coding Tech/How Merkle Trees Enable the Decentralized Web!> Applications https://www.youtube.com/watch?v=XqfUXLfwmvI - Topological sorting in Directed Acyclic Graphs https://www.youtube.com/watch?v=sf_KeGarJkg - Introduction to Single Source Shortest Paths https://www.youtube.com/watch?v=ePqBaDRHkdk - Directed Acyclic Graph (DAG) Single Source Shortest Paths with Example https://medium.com/mvp-workshop/a-closer-look-to-the-inter-planetary-file-system-b3f3af31a3c7 https://hackernoon.com/what-is-a-hashgraph-a0b4c7c396d2 - hashgraphs "As discussed earlier, the hashgraph algorithm has one major advantage over blockchain technology: speed. However, the hashgraph is used in a private, permissioned setting. Anybody can join Bitcoin, Ethereum, and other major public blockchains as a node. On the other hand, each node on the hashgraph has been approved by the network’s administrator. Additionally, unlike the number of nodes on a blockchain at any given time, the number of nodes on the hashgraph is known by the network. Therefore, each node’s identity is known, and can be trusted. This is why the hashgraph is so fast." Quantum Cryptography * During communication over a lossy channel, you can never guarantee there is no one eavesdropping * To give secure communication to your desired target (e.g. "Bob"), you (e.g. "Alice") may need to speak in a code that Bob understands, yet ensure that code is secret enough that an outside eavesdropper (e.g. "Eve") would not understand the underlying meaning. * Assymmetric Encryption requires an algorithm that is exponentially easier to solve when you hold a secret key that efficiently decrypts the encrypted message into a meaningful output, bypassing Eve and speaking solely to Bob (e.g. "obBay, ancay ouyay asspay emay ethey odkavay?", "esYay, ymay ovelay.") * A Merkle Tree uses the same principle in that any single hash can be verified instantly as valid for a given Merkle Root, yet the probability of predicting a set of hashes that can produce a given Merkle Root is an 'asymmetrically-hard' problem. * Asymmetric algorithms allow Bob to understand in seconds what Eve may never decipher, simply by Alice and Bob sharing a "secret" (e.g. the rules of Pig Latin) * In the same way, a Merkle Tree allows for the private validation of large datasets under the asymmetric knowledge that any dataset whose encrypted hash is valid for the given Merkle Root, is quantifiably more likely to be valid (especially if we choose a strong hash function e.g. SHA-2) * We are able to make it exponentially harder for someone to edit our communications by creating a hash function complex enough that the probability of having two different messages (Merkle leaves) which both create the same hash 'root becomes infinitesimal. * The probability of an Eavesdropper deciphering our message is kind of irrelevant now, since really you aren't sharing data, just validating it's contents over time as identical (can't swap one "Leaf" of data without changing the whole Merkle Branch and Root) * The Eavesdropper certainly can't intercept and alter communications between Sender and Receiver (since these alterations would be exponentially difficult to engineer into the same Merkle Root, let alone to have non-random meaning as well. The original data makes exponentially more sense and hence alteration is immediately detectable. * When sharing the Merkle Leaf (the hash of your data) there is an exponentially small risk that an Eavesdropper could brute force guess your data by searching for solutions which give the Merkle Root, but without a Quantum Computer that can be made intractably hard (e.g. using SHA-256 encryption -> |LearnCryptography://Why is 2^256 secure?>). * Hence, we have easy validation of privately encrypted communications, cross-referenced in a network of private nodes. A Merkle Tree can allow anonymous validation of data of any kind (including transactions as in Bitcoin) Category:Cryptography Category:Computers Category:Scientists Category:History of Science Category:Information Age Category:Information Theory Category:Neurodivergent People